#pragma once

#include <string>
#include <vector>
#include <memory>

#include "common/json.h"


namespace evm { namespace compute { namespace network {

using namespace std;

struct Client {
    Json list_ports();
    Json show_port(const string& port_id);
    Json create_port();
    Json update_port();
    Json delete_port();

    Json list_networks();
    Json show_network(const string& network_id);
    Json create_network();
    Json update_network();
    Json delete_network();

    Json list_subnets();
    Json show_subnet(const string& subnet_id);
    Json create_subnet();
    Json update_subnet();
    Json delete_subnet();
};

using ClientPtr = shared_ptr<Client>;

}}}
